package request

type DispatchConfigCreateOrUpdate struct {
	CityId              uint32  `json:"cityId,omitempty" form:"cityId" binding:"required"`
	Strategy            string  `json:"strategy,omitempty" form:"strategy"`
	MaxDistanceKM       float64 `json:"maxDistanceKM,omitempty" form:"maxDistanceKM"`
	ScoreWeightDistance float64 `json:"scoreWeightDistance,omitempty" form:"scoreWeightDistance"`
	ScoreWeightRating   float64 `json:"scoreWeightRating,omitempty" form:"scoreWeightRating"`
	ScoreWeightAccept   float64 `json:"scoreWeightAccept,omitempty" form:"scoreWeightAccept"`
	DayStartHour        int64   `json:"dayStartHour,omitempty" form:"dayStartHour"`
	NightStartHour      int64   `json:"nightStartHour,omitempty" form:"nightStartHour"`
	TimeWindowMinutes   int64   `json:"timeWindowMinutes,omitempty" form:"timeWindowMinutes"`
	GrayGroups          string  `json:"grayGroups,omitempty" form:"grayGroups"`
	Version             string  `json:"version,omitempty" form:"version"`
}

// 获取派单配置
type DispatchConfigGet struct {
	CityId uint32 `json:"cityId,omitempty" form:"cityId"`
}

// 删除派单配置
type DispatchConfigDelete struct {
	CityId uint32 `json:"cityId,omitempty" form:"cityId"`
}

// 发布派单灰度配置
type DispatchGrayPublish struct {
	CityId     uint32 `json:"cityId,omitempty" form:"cityId"`
	Version    string `json:"version,omitempty" form:"version"`
	GrayGroups string `json:"grayGroups,omitempty" form:"grayGroups"`
}
type DispatchGrayRollback struct {
	CityId  uint32 `json:"cityId,omitempty" form:"cityId"`
	Version string `json:"version,omitempty" form:"version"`
}
type DispatchAuditQuery struct {
	CityId  uint32 `json:"cityId,omitempty" form:"cityId"`
	Version string `json:"version,omitempty" form:"version"`
}
